#include <bits/stdc++.h>
using namespace std;

class MyStack {
    queue<int> que;
    int top_flag = false;
public:
    MyStack() {
        
    }
    
    void push(int x) {
        que.push(x);
        top_flag = false;
    }
    
    int pop() {
        int t = top();
        que.pop();
        top_flag = false;
        return t;
    }
    
    int top() {
        int t;
        if(top_flag == false){
            int n = que.size();
            for(int i=0; i<n-1; ++i){
                que.push(que.front());
                que.pop();
            }
            t = que.front();
            top_flag = true;
        }
        else t = que.front();

        return t;
    }
    
    bool empty() {
        return que.empty();
    }
};